package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.Calendar;

import utils.UtilFecha;
import ventanas.VentanaAdministracionCentral;
import ventanas.VentanaAgregarProductoAOC;
import ventanas.VentanaGenerarOC;
import ventanas.VentanaListaReposicionDeInsumos;
import beans.OrdenCompra;
import cliente.ClienteAdminCentral;
import excepciones.ProveedorException;

public class ControladorGenerarOrdenCompra implements ActionListener{

private VentanaGenerarOC ventana;
private OrdenCompra oc;
	
	public ControladorGenerarOrdenCompra (VentanaGenerarOC ventana)
	{
		this.ventana = ventana;
	}
	
	@Override
	public void actionPerformed(ActionEvent ae)
	{
		if ( oc == null )
		{
			oc = new OrdenCompra();
		}
		if( ventana.getBtnCrearOC() == ae.getSource() )
		{
			
			try
			{
				oc.setProveedor(ClienteAdminCentral.obtenerSistema().obtenerProveXNombre(String.valueOf(ventana.getCmbProveedor().getSelectedItem())));
				Calendar fecha = UtilFecha.obtenerFecha( ventana.getTxtFecha().getText() );
				oc.setFechaPedido( fecha );
				
				ClienteAdminCentral.obtenerSistema().armarOCparaProveedores(oc);
				
			} catch (RemoteException e) {
				e.printStackTrace();
			} catch (ProveedorException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		if( ventana.getBtnAgregarProducto() == ae.getSource() )
		{
			try {
				new VentanaListaReposicionDeInsumos( ClienteAdminCentral.obtenerSistema().obtenerProveXNombre(String.valueOf(ventana.getCmbProveedor().getSelectedItem())), this.oc );
			} catch (RemoteException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (ProveedorException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(ventana.getBtnCancelar()==ae.getSource()){
			ventana.dispose();
		}
	}

}
